@import '~components/constants.scss';

/* Drive */

.directory,
.file {
  .file_loader {
    width: 32px;
    height: 32px;
    display: inline-block;
    margin: auto;
  }
  .options {
    padding-left: 5px;
    display: none;
  }

  &:hover {
    .options {
      display: block;
    }
  }
}

.directory_drop_zone {
  display: inline-block;
}
.directory {
  background: #fff;
  border: 1px solid $grey_light;
  height: 50px;
  box-sizing: border-box;
  display: inline-flex;
  flex-direction: row;
  line-height: 32px;
  margin-right: 16px;
  margin-bottom: 16px;
  border-radius: var(--default-border-radius);
  font-size: 13px;
  vertical-align: middle;
  width: 200px;
  padding: 8px;
  font-weight: 500;
  padding-right: 12px;
  cursor: pointer;

  .text {
    font-size: 12px;
    font-weight: bold;
  }

  &:hover:not(.notInDrive) {
    box-shadow: 4px 4px 16px 0 #00000022;
    border-color: #fff;
  }

  .options {
    .m-icon-small {
      font-size: 20px !important;
    }
  }

  .app_icon {
    width: 20px;
    background-size: contain;
    background-position: center;
    background-repeat: no-repeat;
    height: 20px;
    margin-top: 2px;
  }

  .icon {
    font-size: 14px;
    padding-right: 8px;
    margin-left: 6px;
    padding-top: 4px;

    .m-icon-small {
      color: $yellow;
      font-size: 20px !important;
    }

    i.icon-fontastic {
      position: relative;
      top: 8px;
    }

    .icon {
      height: 30px;
      background-size: 16px auto;
      background-position: center left;
      background-repeat: no-repeat;
    }
  }
}

.file {
  overflow: hidden;
  border: 1px solid $grey_light;
  background: #fff;
  height: 180px;
  width: 216px;
  box-sizing: border-box;
  display: inline-flex;
  flex-direction: column;
  line-height: 30px;
  margin-right: 16px;
  margin-bottom: 16px;
  border-radius: var(--default-border-radius);
  font-size: 13px;
  vertical-align: middle;
  position: relative;
  cursor: pointer;

  &:hover:not(.notInDrive) {
    box-shadow: 4px 4px 16px 0 #00000022;
    border-color: #fff;
  }

  .options {
    .m-icon-small {
      font-size: 20px !important;
    }
  }

  &.mini {
    height: 32px;

    .data {
      border-top: none;
      .no-grid {
        display: none;
      }
    }

    .preview {
      height: 32px;
      background: #fff !important;

      &:after {
        content: none;
      }
    }
  }

  .preview {
    width: 216px;
    background-size: contain;
    background-repeat: no-repeat;
    background-position: center;
    background-color: #f5f5f7;
    flex: 1;

    .tags_list {
      position: absolute;
      top: 4px;
      padding-left: 8px;
      line-height: 30px;
    }

    &.no_preview {
      background-color: #f5f5f7;
      background-repeat: no-repeat;
      background-size: 64px;
    }

    /*&:after {
      content: "";
      position: absolute;
      width: 100%;
      height: 100%;
      background: linear-gradient(180deg, rgba(0,0,0,0) 40%, rgba(0,0,0,0.05) 70%, rgba(0,0,0,0.5) 100%);
    }*/
  }

  .data {
    display: flex;
    flex-direction: row;
    padding-left: 8px;
    padding-right: 8px;
    bottom: 0px;
    color: $black;
    height: 32px;
    font-weight: 500;
    width: 100%;
    box-sizing: border-box;
    border-top: 1px solid $grey_background;

    .icon {
      height: 20px;
      width: 20px;
      box-sizing: border-box;
      border-radius: var(--default-border-radius);
      margin-right: 6px;
      margin-left: -3px;
      margin-top: 5px;
      color: #fff;
      text-align: center;
      background-size: 70%;
      background-repeat: no-repeat;
      background-position: center;

      i.icon-fontastic {
        position: relative;
        top: 4px;
      }
    }
  }
}

.draggable_clone {
  .file,
  .directory {
    opacity: 1;
    box-shadow: 4px 4px 16px 0 #00000022;
    border-color: #fff;
  }
}

.dragging.drag_file .drive_multiselector {
  .file.is_selected,
  .directory.is_selected {
    opacity: 0;
    transition: opacity 0.2s;
  }
}

.file,
.directory {
  transition: opacity 0s;

  &.notInDrive {
    margin-bottom: 0px;
  }

  &.dragging_opacity {
    opacity: 0;
  }

  &.is_selected {
    background: $primary;
    color: #fff;
    box-shadow: none;

    .file_type_icon svg,
    .file_type_icon svg * {
      fill: #fff;
    }

    &:hover:not(.notInDrive),
    .data {
      background-color: $primary;
      color: #fff;
    }
  }

  .text {
    flex: 1;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
  }

  .created-by,
  .last-modified {
    width: 200px;
  }

  .size {
    text-align: right;
    width: 70px;
  }

  .last-modified {
    text-align: right;
    width: 120px;
  }

  .detail_preview_parent {
    width: 32px;
    margin-left: 12px;

    .detail_preview {
      width: 32px;
      height: 32px;
      border-radius: var(--default-border-radius);
      background-position: center;
      background-repeat: no-repeat;
      background-size: cover;
      background-color: $grey_light;

      &.no_preview {
        background-size: 60%;
      }
    }
  }
}

.drive_view.list {
  .directory_drop_zone {
    display: inherit;
  }
}

.drive_view.list .directory,
.drive_view.list .file {
  margin-right: 0px;
  margin-bottom: 0px;
  border: 0;
  border-bottom: 1px solid $grey_light;
  border-top: 1px solid $grey_light;
  border-radius: 2px;
  width: 100%;
  height: 64px;
  padding-top: 16px;
  color: $black;
  margin-top: -1px;
  padding-right: 12px;

  &.exit-active,
  &.enter-active {
    margin-top: -1px !important;
  }

  .data {
    border-top: 0px;
    bottom: -1px;
  }

  .text {
    font-size: 14px;
  }

  .options {
    display: block;
  }

  &:hover:not(.notInDrive):not(.is_selected) {
    box-shadow: none;
    background: $primary_background;
  }

  &.is_selected {
    background: $primary;
    color: #fff;
    box-shadow: none;
  }
}

.drive_view.list .file .preview {
  display: none;
}

.drive_view.list {
  .rounded-btn {
    margin-top: 10px;
  }
}

.drive_view.grid {
  .is_selected.file {
    background: $primary;
    color: #fff;
    box-shadow: none;
  }
}

.drive_view.grid .no-grid {
  display: none;
}
.drive_view.list .no-list {
  display: none;
}

.file_type_icon {
  line-height: 38px;
  width: 24px;

  svg,
  svg * {
    fill: $primary;
  }

  &.link {
    background-image: url('./Icons/link.svg');
  }

  &.code {
    background-image: url('./Icons/code.svg');
  }

  &.document {
    background-image: url('./Icons/document.svg');
  }

  &.image {
    background-image: url('./Icons/image.svg');
  }

  &.pdf {
    background-image: url('./Icons/pdf.svg');
  }

  &.slides {
    background-image: url('./Icons/slides.svg');
  }

  &.sound {
    background-image: url('./Icons/sound.svg');
  }

  &.spreadsheet {
    background-image: url('./Icons/spreadsheet.svg');
  }

  &.svg {
    background-image: url('./Icons/svg.svg');
  }

  &.video {
    background-image: url('./Icons/video.svg');
  }

  &.archive {
    background-image: url('./Icons/archive.svg');
  }

  &.other {
    background-image: url('./Icons/file.svg');
  }
}

.drive_view.list .file_type_icon {
  line-height: 38px;
  width: 34px;
  text-align: center;
}

/* version details */
.versionDetails {
  min-height: 250px;

  .text.no-more {
    text-align: center;
    width: 100%;
    opacity: 0.5;
    margin-top: 32px;
    margin-bottom: 32px;
  }

  .version {
    display: flex;
    padding: 24px 0px;
    border-bottom: solid 1px $grey_light;
    .titleVersionDetails {
      font-size: 24px;
      color: var(--black);
      font-weight: bold;
      margin-bottom: 24px;
    }
    .info {
      flex: 0.5;
      margin-bottom: 8px;
      .versionTitle {
        font-size: 14px;
        font-weight: bold;
        color: $black;
      }
      .versionDate {
        font-size: 14px;
        color: $black;
      }
    }
    .name {
      flex: 0.5;
      font-size: 14px;
      line-height: 24px;
      color: $black;
      overflow: hidden;
      text-overflow: ellipsis;
      white-space: nowrap;
    }
    .more {
    }
  }
}
.footerVersionDetails {
  display: flex;
  .addVersion {
    flex: 1;
    .addVersionButton {
      width: 100%;
      height: 24px;
      line-height: 24px;
    }
    .addVersionButton:hover {
      cursor: pointer;
      opacity: 0.8;
    }
    .icon {
      display: inline-block;
      width: 24px;
      height: 24px;
      .iconWithBackground {
        width: 24px;
        height: 24px;
        display: inline-block;
        background-color: var(--pale-grey);
        border-radius: var(--default-border-radius);
      }
    }
    .footerTitle {
      margin-left: 8px;
      display: inline-block;
      font-size: 14px;
      font-weight: bold;
      color: var(--black);
      .addVersionButton:hover {
        cursor: pointer;
        opacity: 0.8;
      }
    }
  }
}
